<html>
    <head>
        <title>定义基础小组件</title>
    </head>
    <body>
        <script>
             /*
                        一、定义基础小部件

                                1、创建视图组件   Create a View Component

                                            第一步，创建一个新的常规ASP.NET Core 视图组件 ViewComponent：


                                                            MySimpleWidgetViewComponent. cs：

                                                                    using Microsoft.AspNetCore.Mvc;
                                                                    using Volo.Abp.AspNetCore.Mvc;

                                                                    namespace DashboardDemo.Web.Pages.Components.MySimpleWidget
                                                                    {
                                                                        public class MySimpleWidgetViewComponent : AbpViewComponent  // 继承自 AbpViewComponent 而不是 ViewComponent
                                                                        {
                                                                            public IViewComponentResult Invoke()
                                                                            {
                                                                                return View();  // 返回默认组件视图 Default component view
                                                                            }
                                                                        }
                                                                    }

                                                            不需要从AbpViewComponent继承。您可以从ASP.NETCore的标准ViewComponent继承。AbpViewComponent仅定义了一些基本有用的属性。

                                                            您可以注入服务并在Invoke方法中使用以从服务中获取一些数据。您可能需要使Invoke方法异步，如public async Task<IViewComponentResult> InvokeAsync()。

                                                            请参阅ASP.NETCore的ViewComponents文档中所有不同的用法: 
                                                            
                                                            https://learn.microsoft.com/zh-cn/aspnet/core/mvc/views/view-components?view=aspnetcore-9.0

                                                            Default.cshtml:
                                                                        <div class="my-simple-widget">
                                                                            <h2>My Simple Widget</h2>
                                                                            <p>This is a simple widget!</p>
                                                                        </div>

                                2、定义小部件  Define the Widget

                                            将[Widget]特性添加到MySimpleWidgetViewComponent类以将此视图组件标记为小部件：

                                                        using Microsoft.AspNetCore.Mvc;
                                                        using Volo.Abp.AspNetCore.Mvc;
                                                        using Volo.Abp.AspNetCore.Mvc.UI.Widgets;

                                                        namespace DashboardDemo.Web.Pages.Components.MySimpleWidget
                                                        {
                                                            [Widget]
                                                            public class MySimpleWidgetViewComponent : AbpViewComponent
                                                            {
                                                                public IViewComponentResult Invoke()
                                                                {
                                                                    return View();
                                                                }
                                                            }
                                                        }    
                   */
        </script>
    </body>
</html>